package com.xbongbong.process.task;

import com.xbongbong.paas.pojo.dto.ProcessTaskAddDTO;
import com.xbongbong.paas.pojo.dto.ProcessTaskCountDTO;
import com.xbongbong.paas.pojo.dto.ProcessTaskUpdateDTO;
import com.xbongbong.paas.pojo.vo.ProcessTaskAddVO;
import com.xbongbong.paas.pojo.vo.ProcessTaskCountVO;
import com.xbongbong.paas.pojo.vo.ProcessTaskUpdateVO;
import com.xbongbong.paas.toolbox.exception.XbbException;

/**
 * @author: wufeng
 * @date: 2018/11/19 15:45
 * @desrcption: 流程任务
 */
public interface PaasProcessTaskService {

    /**
     * 创建待审批流程任务
     * @param processTaskAddDTO
     * @return
     * @throws XbbException
     */
    ProcessTaskAddVO createProcessTask(ProcessTaskAddDTO processTaskAddDTO) throws XbbException;

    /**
     * 汇总正在进行中的流程
     * @param processTaskCountDTO
     * @return
     * @throws XbbException
     */
    ProcessTaskCountVO count(ProcessTaskCountDTO processTaskCountDTO) throws XbbException;

    /**
     * 更新主流程
     * @param processTaskUpdateDTO
     * @return
     * @throws XbbException
     */
    ProcessTaskUpdateVO update(ProcessTaskUpdateDTO processTaskUpdateDTO) throws XbbException;
}
